package com.yuw.ch01;

/**
 * @author Administrator
 *
 */
public class TestDriver01 {

	public static void main(String[] args) {
		// 方法调用
		test04();
	}

	/**
	 * char类型
	 */
	private static void test04() {
		// 字符型
		char chVal1 = '小';
		char chVal2 = '\u1234';
		char chVal3 = 'a';
		System.out.println("chaVal3="+chVal3);
		System.out.println("chaVal3="+(int)chVal3);
		System.out.println("chaVal3="+(chVal3+0));
		
		int iVal1 = chVal3 + 1;
		System.out.println("iVal1="+iVal1);
	}
	/**
	 * 基本数据类型的强制转换
	 */
	private static void test03() {
		// 低 -- 高 范围小-- 范围大
		byte bVal1 = 127;
		byte bVal2 = (byte) 128;
		// 默认自动转换
		int iVal1 = bVal1;
		short shVal1 = (short) iVal1;
		System.out.println("shVal1="+shVal1);
		
		long lVal1 = 8989898989898989l;
		int iVal2 = (int) lVal1;
		System.out.println("iVal2="+iVal2);
		
		
	}

	/**
	 * 基本数据类型的默认（自动）转换
	 */
	private static void test02() {
		// 低 -- 高 范围小-- 范围大
		byte bVal1 = 12;
		int iVal1 = bVal1;
		System.out.println("iVal1 = " + bVal1);
		// 整型默认转换为浮点型
		float fVal1 = iVal1;
		// 混合表达式
		float fVal2 = bVal1 + iVal1 + fVal1;

		short shVal1 = 2;
		char chVal1 = 'a';
		char chVal2 = '\u8888';
		System.out.println("chVal2=" + chVal2);
		// 单纯由byte、short、char三种类型组成的表达式的结果类型是int类型
		int iVal3 = bVal1 + shVal1 + chVal2;
		System.out.println("iVal3 = " + iVal3);
	}

	/**
	 * 基本数据类型
	 */
	private static void test01() {

		// 变量的声明和初始化赋值
		int iVal1 = 1;
		// 先声明，再赋值
		int iVal2;
		iVal2 = 2;

		// 浮点数默认类型时double类型
		double dVal1 = 3.14;

		// float类型需要使用后缀标明
		float fVal1 = 3.14f;

		int iVal3 = 0555; // 8进制
		int iVal4 = 0x666; // 16进制

		byte bVal1 = (byte) 200; // 强制类型转换

		// 可以使用变量给另外一个变量赋值
		short shVal1 = (short) iVal4;

		// 输出内容
		System.out.println("shVal1=" + shVal1);
	}

}
